// JavaScript Document
//PREPARAR DIALOGOS
$(function()
{
	$("#atencion").dialog
	({
 		autoOpen:false,
		bgiframe:true,
		modal:true,
		buttons:
		{
			Aceptar:function()
			{
				$(this).dialog('close');
			}
		}
	});
	$("#confirmacion").dialog
	({
 		autoOpen:false,
		bgiframe:true,
		modal:true,
		width:400,
		height:220,
		buttons:
		{
			No:function()
			{
				$(this).dialog('close');
			},
			Si:function()
			{
				$(this).dialog('close');
				EjecutarAccion();
			}
		}
	});
	$("#procesando").dialog
	({
 		autoOpen:false,
		bgiframe:true,
		modal:true
	});
});

//VARIABLES GLOBALES
var accion,nombres_usuario,mail_usuario;

function CrearXHRObject()
{
	var ajax;
	//OTROS NAVEGADORES
	if (window.XMLHttpRequest)
		ajax = new XMLHttpRequest();
	//INTERNET EXPLORER
	else
	if (window.ActiveXObject)
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	else
	{
		document.getElementById('atencion').innerHTML = "<p>"+
		"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
		"<b>Su navegador de Internet no soporta XMLHTTP Request, el sistema no funcionar&aacute; correctamente.</b></p>";
		$("#atencion").dialog('open');
	}
	return ajax;
}

function NumerosAleatorios()
{
	var numero1 = Math.floor(Math.random()*11);
	var numero2 = Math.floor(Math.random()*11);
	var numero3 = Math.floor(Math.random()*11);
	var numero4 = Math.floor(Math.random()*11);
	var numero5 = Math.floor(Math.random()*11);
	var aleatorio = numero1+""+numero2+""+numero3+""+numero4+""+numero5;
	return aleatorio;
}

function Enter(e)
{
	var tecla;
	if (!e)
		var e = window.event;
	if (e.keyCode)
		tecla = e.keyCode;
	else
	if (e.which)
		tecla = e.which;
	if (tecla == 13)
		Evaluar();
}

function EjecutarAccion()
{
	$("#procesando").dialog('close');
	if (accion == "enviar_correo")
		EnviarCorreo();
}

function Evaluar()
{
	var flag = true;
	if (document.getElementById('usuario').value.length == 0)
		flag = false;
	if (document.getElementById('password').value.length == 0)
		flag = false;
	if (flag == false)
	{
		document.getElementById('atencion').innerHTML = "<p>"+
		"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
		"<b>Complete el Usuario y Contrase&ntilde;a.</b></p>";
		$("#atencion").dialog('open');
	}
	if (flag == true)
		Autenticar();
}

function Autenticar()
{
	var ajax = CrearXHRObject();
	var aleatorio = NumerosAleatorios();
	var susuario = document.getElementById('usuario').value;
	var spassword = document.getElementById('password').value;	
	ajax.open("GET","login.jsp?flag=ok&usuario="+susuario+"&password="+spassword+"&random="+aleatorio,true );
	ajax.send(null);
	document.getElementById('procesando').innerHTML = "<b>Procesando ...&nbsp;</b><img src=\"/jde/img/progreso.gif\" width=\"32\" height=\"32\" align=\"middle\" />";
	$("#procesando").dialog('open');
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 4)
		{
			if(ajax.status == 200)
			{
				var resp = ajax.responseText;
				var autorizado, autoriza;
				//OTROS NAVEGADORES
				try
				{
					var parser = new DOMParser();
					var dom = parser.parseFromString(resp,"text/xml");
					autorizado = dom.getElementsByTagName("autorizado");
					autoriza = autorizado[0].childNodes[0].nodeValue;
				}
				//INTERNET EXPLORER
				catch (error)
				{
					var xml = new ActiveXObject("Microsoft.XMLDOM");
					xml.async = "false";
					xml.loadXML(resp);
					autorizado = xml.getElementsByTagName("autorizado");
					autoriza = autorizado[0].firstChild.data;
				}
				if (autoriza == "SI")
				{
					$("#procesando").dialog('close');
					window.location = "home/?random="+aleatorio;
				}
				if (autoriza == "SIPASS")
				{
					$("#procesando").dialog('close');
					window.location = "home/Formularios/CambiarPassword";
				}
				if ((autoriza == "NO")&&(autoriza != "SIPASS"))
				{
					$("#procesando").dialog('close');
					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b>Acceso no autorizado.</b></p>";
					$("#atencion").dialog('open');
				}
				if ((autoriza != "SI")&&(autoriza != "NO")&&(autoriza != "SIPASS"))
				{
					$("#procesando").dialog('close');
					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b>Se produjo un error: "+autoriza+"</b></p>";
					$("#atencion").dialog('open');
				}
	  		}
		}
	};
}

function Password()
{
	var usuario = document.getElementById('usuario');
	if (usuario.value.length == 0)
	{
		document.getElementById('atencion').innerHTML = "<p>"+
		"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
		"<b>Primero escriba el Usuario.</b></p>";
		$("#atencion").dialog('open');
	}
	else
	if (usuario.value == "administrador")
	{
		document.getElementById('atencion').innerHTML = "<p>"+
		"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
		"<b>La contrase&ntilde;a del administrador no se puede modificar.</b></p>";
		$("#atencion").dialog('open');
	}
	else
	{
		CargarDatosUsuario();
		accion = "enviar_correo";
	}
}

function CargarDatosUsuario()
{	
	document.getElementById('procesando').innerHTML = "Cargando... <img src=\"/jde/img/progreso.gif\" width=\"32\" height=\"32\" align=\"absmiddle\" />";
	$("#procesando").dialog('open');
	var ajax = CrearXHRObject();
	var aleatorio = NumerosAleatorios();
	var usuario = document.getElementById('usuario').value;
	ajax.open("GET","/jde/Pagos/Dialogos/Xml/DatosUsuario?flag=ok&usuario="+usuario+"&origen=login&random="+aleatorio,true);
	ajax.send(null);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 4)
		{
			if(ajax.status == 200)
			{
				var resp = ajax.responseText;
				$("#procesando").dialog('close');
				//VARIABLES
				var valido_;
				var valido;
				var nombres_;
				var nombres;
				var mail_;
				var mail;
				//OTROS NAVEGADORES
				try
				{
					var parser = new DOMParser();
					var dom = parser.parseFromString(resp,"text/xml");
					valido_ = dom.getElementsByTagName("valido");
					valido = valido_[0].childNodes[0].nodeValue;
					nombres_ = dom.getElementsByTagName("nombres");
					nombres = nombres_[0].childNodes[0].nodeValue;
					mail_ = dom.getElementsByTagName("mail");
					mail = mail_[0].childNodes[0].nodeValue;
				}
				//INTERNET EXPLORER
				catch (error)
				{
					var xml = new ActiveXObject("Microsoft.XMLDOM");
					xml.async = "false";
					xml.loadXML(resp);
					valido_ = xml.getElementsByTagName("valido");
					valido = valido_[0].firstChild.data;
					nombres_ = xml.getElementsByTagName("nombres");
					nombres = nombres_[0].firstChild.data;
					mail_ = xml.getElementsByTagName("mail");
					mail = mail_[0].firstChild.data;
				}
				//RESULTADO XML
				if (valido == "Si")
				{
					nombres_usuario = nombres;
					mail_usuario = mail;
					document.getElementById('nombres_span').innerHTML = nombres_usuario;
					document.getElementById('mail_span').innerHTML = mail_usuario;
					$("#confirmacion").dialog('open');
				}
				if ((valido == "No")&&(nombres == "No encontrado"))
				{
					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b>El usuario indicado no existe.</b></p>";
					$("#atencion").dialog('open');
				}
				if ((valido == "No")&&(nombres != "Sesion")&&((nombres != "No encontrado")))
				{
					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b>Se produjo un error: "+nombres+"</b></p>";
					$("#atencion").dialog('open');
				}
			}
		}
	};
}

function EnviarCorreo()
{
	document.getElementById('procesando').innerHTML = "<b>Procesando ...&nbsp;</b><img src=\"/jde/img/progreso.gif\" width=\"32\" height=\"32\" align=\"middle\" />";
	$("#procesando").dialog('open');
	var ajax = CrearXHRObject();
	var aleatorio = NumerosAleatorios();
	var usuario = document.getElementById('usuario').value;
	ajax.open("GET","/jde/Pagos/Herramientas/Generales/RecuperarPassword?flag=ok&usuario="+usuario+"&nombres="+nombres_usuario+"&mail="+mail_usuario+"&random="+aleatorio,true);
	ajax.send(null);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 4)
		{
			if(ajax.status == 200)
			{
				var resp = ajax.responseText;
				$("#procesando").dialog('close');
				var valido_;
				var valido;
				var enviado_;
				var enviado;
				//OTROS NAVEGADORES
				try
				{
					var parser = new DOMParser();
					var dom = parser.parseFromString(resp,"text/xml");
					valido_ = dom.getElementsByTagName("valido");
					valido = valido_[0].childNodes[0].nodeValue;
					enviado_ = dom.getElementsByTagName("enviado");
					enviado = enviado_[0].childNodes[0].nodeValue;
				}
				//INTERNET EXPLORER
				catch (error)
				{
					var xml = new ActiveXObject("Microsoft.XMLDOM");
					xml.async = "false";
					xml.loadXML(resp);
					valido_ = xml.getElementsByTagName("valido");
					valido = valido_[0].firstChild.data;
					enviado_ = xml.getElementsByTagName("enviado");
					enviado = enviado_[0].firstChild.data;
				}
				//RESULTADO XML
				if ((valido == "Si")&&(enviado == "Si"))
				{
					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-alert\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b>El correo ha sido enviado correctamente.</b></p>";
					$("#atencion").dialog('open');
				}
				if ((valido == "No")&&(enviado != "Sesion"))
				{
					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-alert\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b>Se produjo un error: "+enviado+"</b></p>";
					$("#atencion").dialog('open');
				}
			}
		}
	};
}

function ToolTip(elemento)
{
	var texto = elemento.value;
	if (texto.length == 0)
		elemento.title = "Sin datos";
	else
		elemento.title = texto;
}